﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DTS
{
    class TransakcjaController
    {
        List<Transakcja> transakcje;

        public TransakcjaController()
        {
            transakcje = new List<Transakcja>();
        }
        public int getCount() { return transakcje.Count; }

        public void addTransakcja(Transakcja t)
        {
            transakcje.Add(t);
        }
        public void addTransakcja(List<Transakcja> t)
        {
            transakcje.AddRange(t);
        }
        public List<Transakcja> getTransactions()
        {
            return new List<Transakcja>(transakcje);
        }
        public List<Transakcja> getTransactions(String symbol)
        {
            return transakcje.FindAll(trans => trans.getSymbol().Contains(symbol));
        }
        public List<Transakcja> getTransactions(String symbol,DateTime dataStart, DateTime dataStop)
        {
            return transakcje.FindAll(trans => dataStart.Ticks < trans.getData().Ticks && trans.getData().Ticks < dataStop.Ticks
                                   && trans.getSymbol().Contains(symbol));
        }
        public List<Transakcja> getTransactions( DateTime dataStart, DateTime dataStop)
        {
            return transakcje.FindAll(trans =>    dataStart.Ticks < trans.getData().Ticks && trans.getData().Ticks < dataStop.Ticks);
        }
        public void clear()
        {
            transakcje.Clear();
        }
        override public string ToString()
        {
            String toRet = "";
            foreach (Transakcja tmp in transakcje)
                toRet += tmp.ToString() + "\n";
            return toRet;
        }
    }
}
